package com.hoshiibuy.sys.permission.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hoshiibuy.common.rpc.Response;
import com.hoshiibuy.sys.permission.entity.SysUsers;

/**
 * <p>
 * 用户 服务类
 * </p>
 *
 * @author Mr.Wu
 * @since 2019-04-18
 */
public interface ISysUsersService extends IService<SysUsers> {

	/**
	 * @Description: 新增系统用户
	 * @author Mr.wu
	 * @param param
	 * @return
	 * @date: 2019年4月22日 下午2:16:16
	 */
	public Response addSysUser(SysUsers param);

	/**
	 * 
	 * @Description: 根据ID修改系统用户
	 * @author Mr.wu
	 * @param param
	 * @return
	 * @date: 2019年4月22日 下午2:17:46
	 */
	public Response updateSysUser(SysUsers param);

	/**
	 * 
	 * @Description: 根据ID删除系统用户
	 * @author Mr.wu
	 * @param id
	 * @return
	 * @date: 2019年4月22日 下午2:18:12
	 */
	public Response deleteSysUser(Long id);

	/**
	 * 
	 * @Description: 根据ID获取系统用户详情
	 * @author Mr.wu
	 * @param id
	 * @return
	 * @date: 2019年4月22日 下午2:18:44
	 */
	public Response getSysUserDetail(Long id);

	/**
	 * 
	 * @Description: 根据ID获取用户所拥有的权限值列表
	 * @author Mr.wu
	 * @param id
	 * @return
	 * @date: 2019年4月22日 下午2:19:03
	 */
	public Response getSysUserPermissionList(Long id);

	/**
	 * 
	 * @Description: 根据参数获取系统用户列表
	 * @author Mr.wu
	 * @return
	 * @date: 2019年4月22日 下午2:19:13
	 */
	public Response getSysUserList(QueryWrapper<SysUsers> queryWrapper);

	/**
	 * 
	 * @Description: 分页查询系统用户列表
	 * @author Mr.wu
	 * @param page
	 * @param queryWrapper
	 * @return Response<IPage<SysUsers>>
	 * @date: 2019年4月28日 上午9:18:49
	 */
	public Response getPage(IPage<SysUsers> page, QueryWrapper<SysUsers> queryWrapper);

}
